草庐IT

UI 自动化测试

全部标签

javascript - 单元测试时检查错误参数有多重要?

假设我有一个方法接受一些参数并将它们存储为实例变量。如果其中之一为空,则稍后的某些代码将崩溃。如果提供空参数,您是否会修改方法以抛出异常并添加单元测试来检查它?如果我这样做,它会稍微复杂一些,因为javascript有很多错误的值(null、undefined、NaN等),而且由于它具有动态类型,我什至无法检查是否传入了正确类型的对象。 最佳答案 我认为这实际上取决于您要对哪种API进行单元测试。如果这是一个仅为内部使用而设计和构建的组件,并且您知道使用将受到某些限制,那么对错误参数进行单元测试可能会过大。另一方面,如果您谈论的是要

javascript - 如何在 JavaScript 中测试 CSS 选择器?

我如何测试CSS1-3选择器以检查它们是否获得了正确的元素,例如使用JavaScript(也许是jQuery)? 最佳答案 到目前为止,最简单的传统方法是根本不使用JavaScript,而只是手动设置一个测试页面,您可以在其中测试选择器是否满足您的需求。您在Web上看到的测试用例(如众所周知的CSS3.infoSelectorsTest)实际上只是在线托管的增强版本。但是如果您正在寻找JavaScript方法,您可以尝试SelectorsAPI.它在现代DOM实现(IE8+和其他)中可用,它提供了一个JavaScript前端,用于使

javascript - jQuery 自动完成 > 选择 > 链接

我已经实现了这段代码,我喜欢它的直接性,因为我打算向源代码中添加很多东西——但是对于我来说,我无法弄清楚如何将选定的代码添加为链接。EG>开始输入>自动填充工作>选择>转到该URL当前代码:$(document).ready(function(){$("input#autocomplete").autocomplete({source:["NYC","LA","Philly","Chitown","DC","SF","Peru"]});});我在这里找到了一些关于此的讨论,但没有一个代码建议有效。如何添加与上述值关联的URL;如果我能保持相同的语法并接近刚刚添加的值,我会很高兴;EG:

javascript - 在 JavaScript 中自动释义句子

在JavaScript中,是否可以使用随机生成的正则表达式匹配自动替换句子中的正则表达式?我正在尝试使用这种方法使用正则表达式列表自动解释一个句子,如下所示:replaceWithRandomFromRegexes("你不是疯子!你是神童!",["(genius|prodigy)","(freak|loony|crackpot|crank|crazy)","(You're|Youare|Thouart)","(arent|ain't|arenot)"])此处,输入字符串中每个正则表达式的每个匹配项都应替换为随机生成的正则表达式匹配项。functionreplaceWithRandomF

java - 如何测试是否使用 javascript 加载了 java applet?

小程序是我自己的,调用ready()只是返回"is"。首先我尝试像这样嵌入小程序:我试图通过在document.ready上调用ready()来检查它是否加载了javascript,如下所示:但我立即得到一个错误(TypeError:$(...).get(...).readyisnotafunction)所以我假设它在加载之前尝试调用小程序ready()函数。$(function(){if(CheckApplet()==false){$('#appletStatus').html('Failedtoloadapplet.');}});functionCheckApplet(){retu

javascript - jQuery UI 可在 Slick-slider 内拖动

我需要在Slick-slider中有一个jQueryUI可拖动元素.我知道jQueryUI有句柄选项http://jqueryui.com/draggable/#handle但我不确定如何将其应用于slick-slider。我发现了这个SO问题:jQueryUISliderInterferencewithslickcarousel但它使用jQueryUI的slider选项。当我在我的例子中做了类似的事情时,我能够禁用slick-slider拖动...但是我的可拖动元素仍然不可拖动。JSfiddle:http://jsfiddle.net/NateW/u1burczm/当Slick-sl

javascript - Angular UI Router - 具有空 Url 的抽象父状态

我试图在我的应用程序中设置多个嵌套状态。这是相关代码。functionconfigFn($stateProvider,$urlRouterProvider){$urlRouterProvider.otherwise("/cart");$stateProvider.state('checkout',{url:'/',templateUrl:'app/checkout/views/checkout.container.html',controller:'checkoutCntrl',abstract:true}).state('checkout.cart',{data:{step:1},u

javascript - ui-router - $state.go() 不工作

这是我项目的app.js:(function(){'usestrict';angular.module('app',['ui.router','ngCookies','angular-inview','ngMaterial']).config(config).run(run);config.$inject=['$stateProvider','$urlRouterProvider','$mdThemingProvider'];functionconfig($stateProvider,$urlRouterProvider,$mdThemingProvider){$mdThemingPr

javascript - Uncaught Error : Could not find module `ember` imported from `ui/app` loader. js:164

我使用以下命令构建并提供我的ember应用程序:ember构建Ember服务两者都按预期工作。然后我转到以下localhost:4200URL来查看应用程序并在javascript控制台中看到以下错误:UncaughtError:AssertionFailed:EmberViewsrequirejQuerybetween1.7and2.1ember.debug.js:5921UncaughtError:Couldnotfindmodule`ember`importedfrom`ui/app`loader.js:164不太确定为什么找不到jquery或ember模块?Ember版本:ve

javascript - 单元测试 react Action - browserHistory 未定义

我为我的行为编写测试,使用{browserHistory}from'react-router';当我运行测试时,导入的browserHistory由于未知原因未定义。因此,测试会抛出一个错误——“无法读取未定义的‘push’属性”;我不知道,为什么browserHistory未定义,如果它在我的应用程序中有效。有人可以帮助我吗? 最佳答案 我猜你没有使用karma或任何浏览器来运行你的测试。如果没有浏览器,对象browserHistory将是未定义的。您可能需要使用sinonstub您的浏览器历史记录。类似以下内容可能有帮助:imp